package com.atguigu.spzx.manager.service;

import com.atguigu.spzx.model.dto.product.ProductDto;
import com.atguigu.spzx.model.entity.product.Product;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

/**
* @author Windows
* @description 针对表【product(商品)】的数据库操作Service
* @createDate 2024-02-01 10:18:02
*/
public interface ProductService extends IService<Product> {

    /**
     * 查询商品列表
     * @param page
     * @param limit
     * @param productDto
     * @return
     */
    Page<Product> findByPage(Integer page, Integer limit, ProductDto productDto);

    /**
     * 保存product信息
     * @param product
     */
    void saveProduct(Product product);

    /**
     * 获取product
     * @param id
     * @return
     */
    Product getProductById(Long id);

    /**
     * 更新
     * @param product
     */
    void updateProductById(Product product);

    /**
     * 删除
     * @param id
     */
    void deleteById(Long id);

    /**
     * 商品审核
     * @param id
     * @param auditStatus
     */
    void updateAuditStatus(Long id, Integer auditStatus);

    /**
     * 商品上下架
     * @param id
     * @param status
     */
    void updateStatus(Long id, Integer status);
}
